Systems and methods for validating customer interactions

ABSTRACT

A method may include generating, by a computing device, a first dynamic QR code comprising a plurality of QR code frames, each QR code frame transmitted at a first frequency, the plurality of QR code frames comprising non-viable QR code frame(s) and at least one viable QR code frame. The method may include displaying, by the computing device, the first dynamic QR code, the at least one viable QR code frame displayed at a first time. The method may include transmitting, by the computing device, a first pulse to a user device. The method may include capturing, by the user device at the first time and in response to receiving the first pulse, the at least one viable QR code frame. The method may include generating and displaying, by the user device, a second dynamic QR code, causing the computing device to complete a requested transaction.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims priority under 35U.S.C. § 120 to, U.S. patent application Ser. No. 17/539,350, filed Dec.1, 2021, which is a continuation of U.S. patent application Ser. No.17/358,762, filed Jun. 25, 2021, now U.S. Pat. No. 11,222,326, theentire contents of each of which are fully incorporated herein byreference.

This application is related to U.S. patent application Ser. No.17/730,487, filed Apr. 27, 2022, which also claims priority to U.S.patent application Ser. No. 17/539,350, filed Dec. 1, 2021, which is acontinuation of U.S. patent application Ser. No. 17/358,762, filed Jun.25, 2021, now U.S. Pat. No. 11,222,326.

FIELD

The disclosed technology relates to systems and methods for validatingcustomer interactions, and more particularly for generating a dynamicquick response (QR) code to iteratively validate customer interactions.

BACKGROUND

Many traditional systems and methods utilize QR codes or othertwo-dimensional encoded graphics to initiate and/or authenticateinteractions between customers and financial transaction terminals, suchas ATMs and other kiosks. Traditional graphics used in thesecircumstances can be easily intercepted by unintended actors, such aspeople standing in line behind a customer at an ATM, thereby leading toincreased financial fraud.

Accordingly, there is a need for improved systems and methods thatprovide for iterative validation of customer interactions by way of adynamic QR code. Embodiments of the present disclosure are directed tothis and other considerations.

SUMMARY

Disclosed embodiments provide systems and methods for iterativelyvalidating customer interactions using a dynamic QR code.

Consistent with the disclosed embodiments, a method for validatingcustomer interactions may include establishing a wireless connectionbetween a first user device (e.g., a mobile phone) and a first computingdevice (e.g., a cashier's check kiosk). The method may includegenerating, by the first computing device, a first dynamic QR codecomprising a plurality of first QR code frames, wherein each first QRcode frame of the plurality of first QR code frames is transmitted at afirst frequency, and wherein the plurality of first QR code framescomprises one or more non-viable first QR code frames and at least oneviable first QR code frame. The method may include displaying, by thefirst computing device, the first dynamic QR code, wherein the at leastone viable first QR code frame is displayed at a first time. The methodmay include transmitting, by the first computing device, a first pulse(e.g., a wireless signal, infrared light, a strobe, etc.) to the firstuser device, wherein the first pulse notifies the first user device tocapture the at least one viable first QR code frame. The method mayinclude capturing, by the first user device at the first time and inresponse to receiving the first pulse, the at least one viable first QRcode frame. The method may include authenticating, by the first userdevice, a first user of the first user device. The method may includereceiving, at the first computing device and from the first user device,a request to complete a transaction. The method may include generating,in response to authenticating the first user of the first user deviceand by the first user device, a second dynamic QR code comprising aplurality of second QR code frames, wherein each second QR code frame ofthe plurality of second QR code frames is transmitted at a secondfrequency, and wherein the plurality of second QR code frames comprisesone or more non-viable second QR code frames and at least one viablesecond QR code frame. The method may include displaying, by the firstuser device, the second dynamic QR code, wherein the at least one viablesecond QR code frame is displayed at a second time. The method mayinclude transmitting, by the first user device, a second pulse to thefirst computing device, wherein the second pulse notifies the firstcomputing device to capture the at least one viable second QR codeframe. The method may include capturing, by the first computing deviceat the second time and in response to receiving the second pulse, the atleast one viable second QR code frame. The method may includecompleting, by the first computing device, the transaction. Thisembodiment provides the added benefit of significantly reducing anypotentially fraudulent activity by iteratively validating both the userdevice and the user associated with the user device prior to completingthe requested transaction.

In another embodiment, a system may include one or more processors and amemory in communication with the one or more processors and storinginstructions, that when executed by the one or more processors, areconfigured to cause the system to perform a method for validatingcustomer interactions. The system may recognize a first user device. Thesystem may generate a first dynamic QR code comprising a plurality offirst QR code frames, wherein each first QR code frame of the pluralityof first QR code frames is transmitted at a first frequency, and whereinthe plurality of first QR code frames comprises one or more non-viablefirst QR code frames and at least one viable first QR code frame. Thesystem may display the first dynamic QR code, wherein the at least oneviable first QR code frame is displayed at a first time. The system maythen transmit a first pulse to the first user device, wherein the firstpulse notifies the first user device to capture the at least one viablefirst QR code frame at the first time. The system may receive, from thefirst user device, a request to complete a transaction. The system maycapture, from the first user device, a second QR code. The system maythen determine whether the second QR code is authenticated. Responsiveto determining that the second QR code is authenticated, the system maycomplete the transaction.

In another embodiment, a system may include one or more processors and amemory in communication with the one or more processors and storinginstructions, that when executed by the one or more processors, areconfigured to cause the system to perform a method for validatingcustomer interactions. The system may capture, from a first computingdevice, a first dynamic QR code. The system may transmit, to the firstcomputing device, a request to complete a transaction. The system maygenerate a second dynamic QR code comprising a plurality of second QRcode frames, wherein each second QR code frame of the plurality ofsecond QR code frames is transmitted at a first frequency, and whereinthe plurality of second QR code frames comprises one or more non-viablesecond QR code frames and at least one viable second QR code frame. Thesystem may display the second dynamic QR code, wherein the at least oneviable second QR code frame is displayed at a first time. The system maythen cause the first computing device to complete the transaction bytransmitting a first pulse to the first computing device, wherein thefirst pulse notifies the first computing device to capture the at leastone viable second QR code frame at the first time.

Further implementations, features, and aspects of the disclosedtechnology, and the advantages offered thereby, are described in greaterdetail hereinafter, and can be understood with reference to thefollowing detailed description, accompanying drawings, and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and which illustrate variousimplementations, aspects, and principles of the disclosed technology. Inthe drawings:

FIG. 1 is a block diagram of an example system environment that may beused to implement one or more embodiments of the present disclosure;

FIG. 2 is a component diagram of a computing device in accordance withsome embodiments of the present disclosure;

FIGS. 3A-3B are a flowchart of a method for validating customerinteractions, in accordance with some embodiments of the presentdisclosure;

FIG. 4 is a flowchart of a method for validating customer interactions,in accordance with some embodiments of the present disclosure; and

FIG. 5 is a flowchart of a method for validating customer interactions,in accordance with some embodiments of the present disclosure.

DETAILED DESCRIPTION

Some implementations of the disclosed technology will be described morefully with reference to the accompanying drawings. This disclosedtechnology may, however, be embodied in many different forms and shouldnot be construed as limited to the implementations set forth herein. Thecomponents described hereinafter as making up various elements of thedisclosed technology are intended to be illustrative and notrestrictive. Many suitable components that would perform the same orsimilar functions as components described herein are intended to beembraced within the scope of the disclosed electronic devices andmethods. Such other components not described herein may include, but arenot limited to, for example, components developed after development ofthe disclosed technology.

It is also to be understood that the mention of one or more method stepsdoes not preclude the presence of additional method steps or interveningmethod steps between those steps expressly identified. Similarly, it isalso to be understood that the mention of one or more components in adevice or system does not preclude the presence of additional componentsor intervening components between those components expressly identified.

By way of introduction, aspects discussed herein may relate to systemsand methods for validating customer interactions. For example, someembodiments describe using a dynamic QR code at a financial transactionkiosk and on an individual user device to iteratively validateinteractions between the kiosk and the user associated with the userdevice. These provide advantages over other systems and methods bymaking it so unintended actors may not intercept financial transactions.As such, the following discussion describes several exemplary systemsand methods for iteratively validating customer interactions using adynamic QR code.

These exemplary systems and methods specifically provide improvements tothe functioning of computing devices, such as kiosks, ATMs, and mobiledevices, by significantly increasing the reliability of real-time,user-specific authentication. For example, a standalone financial kiosk,through generating and displaying a dynamic QR code with rapidlychanging QR code frames while transmitting a pulse (described below) ata time that corresponds to when a correct QR code frame of the multipleQR code frames is displayed, may significantly reduce, if not eliminate,fraudulent activity occurring during certain types of transactions. Thedisclosed dynamic QR codes may be designed such that they require a userto not only capture the correct QR code frame at a precisely definedtime, but also from a specific angle, and from a close enough distanceto maintain a sufficient wireless connection between the kiosk and theuser's mobile device.

For similar reasons, the following exemplary systems and methods alsoprovide improvements to the networking and communication betweenpersonal computing devices and other computing devices. By securely andefficiently enabling users to connect and authenticate with anotherstationary computing device, such as a kiosk, users can verify they arepresent at a brick-and-mortar location allowing the users to conducthigh value transactions via a low-risk process without the need formerchant or human intervention. This may result in decreased fraud andincreased customer trust.

Reference will now be made in detail to example embodiments of thedisclosed technology that are illustrated in the accompanying drawingsand disclosed herein. Wherever convenient, the same reference numberswill be used throughout the drawings to refer to the same or like parts.

FIG. 1 is a diagram of an example system environment that may be used toimplement one or more embodiments of the present disclosure. Thecomponents and arrangements shown in FIG. 1 are not intended to limitthe disclosed embodiments as the components used to implement thedisclosed processes and features may vary.

In accordance with disclosed embodiments, system 100 may include acomputing device 110 (as will be discussed in more detail below withreference to FIG. 2 ) that may be in communication (either directly orvia a network 140) with a financial service provider system 120. System100 may also include a user device 130 that may be in communication(either directly or via network 140) with each other, financial serviceprovider system 120, and/or computing device 110.

In certain embodiments, financial service provider system 120 may storeand/or have access to detailed customer information, such as accountinformation. Financial service provider system 120 may communicate withcomputing device 110 to correlate compiled data, analyze the compileddata, arrange the compiled data, generate derived data based on thecompiled data, and store the compiled and derived data in a database.Financial service provider system 120 may also communicate withcomputing device 110 and/or user device 130 to provide one or moregraphical user interface (GUI) displays to enable a user to input data,search for data, transfer data, and transmit and receive payments.

User device 130 may be a mobile computing device (e.g., a smart phone,tablet computer, smart wearable device, portable laptop computer, voicecommand device, wearable augmented reality device, or other mobilecomputing device), a stationary device (e.g., desktop computer), or anyother device capable of communicating with network 140 and ultimatelycommunicating with one or more components of system 100. In someembodiments, user device 130 may include or incorporate electroniccommunication devices for hearing or vision impaired users. User device130 may be operated by a user, which may include individuals such as,for example, subscribers, clients, prospective clients, or customers ofan entity associated with an organization, such as individuals who haveobtained, will obtain, or may obtain a product, service, or consultationfrom an entity associated with system 100. According to someembodiments, user device 130 may include an environmental sensor forobtaining audio or visual data, such as a microphone and/or digitalcamera, a geographic location sensor for determining the location of thedevice, an input/output (“I/O”) device such as a transceiver for sendingand receiving data, a display for displaying digital images, one or moreprocessors including a sentiment depiction processor, and a memory incommunication with the one or more processors.

Network 140 may be of any suitable type, including individualconnections via the internet such as cellular or WiFi™ networks. In someembodiments, network 140 may connect terminals, services, and mobiledevices using direct connections such as radio-frequency identification(RFID), near-field communication (NFC), Bluetooth™, low-energyBluetooth™ (BLE), WiFi™, ZigBee™, ambient backscatter communications(ABC) protocols, USB, WAN, or LAN. Because the information transmittedmay be personal or confidential, security concerns may dictate one ormore of these types of connections be encrypted or otherwise secured. Insome embodiments, however, the information being transmitted may be lesspersonal, and therefore the network connections may be selected forconvenience over security.

An example embodiment of computing device 110 is shown in more detail inFIG. 2 . As shown, computing device 110 may include a processor 210, anI/O device 220, a memory 230 containing an operating system (“OS”) 240,a database 250, and a program 260.

Computing device 110 may be a single server or may be configured as adistributed computer system including multiple servers or computers thatinteroperate to perform one or more of the processes and functionalitiesassociated with the disclosed embodiments. In some embodiments,computing device 110 may further include a peripheral interface, atransceiver, a mobile network interface in communication with processor210, a bus configured to facilitate communication between the variouscomponents of computing device 110, and a power source configured topower one or more components of computing device 110. A peripheralinterface may include the hardware, firmware and/or software thatenables communication with various peripheral devices, such as mediadrives (e.g., magnetic disk, solid state, or optical disk drives), otherprocessing devices, or any other input source used in connection withthe instant techniques. In some embodiments, a peripheral interface mayinclude a serial port, a parallel port, a general-purpose input andoutput (GPIO) port, a game port, a universal serial bus (USB), amicro-USB port, a high definition multimedia (HDMI) port, a video port,an audio port, a Bluetooth™ port, an NFC port, another likecommunication interface, or any combination thereof.

In some embodiments, a transceiver may be configured to communicate withcompatible devices and ID tags when they are within a predeterminedrange. A transceiver may be compatible with one or more of: RFID, NFC,Bluetooth™, low-energy Bluetooth™ (BLE), WiFi™, ZigBee™, ABC protocolsor similar technologies.

A mobile network interface may provide access to a cellular network, theInternet, or another wide-area network. In some embodiments, a mobilenetwork interface may include hardware, firmware, and/or software thatallows processor 210 to communicate with other devices via wired orwireless networks, whether local or wide area, private or public, asknown in the art. A power source may be configured to provide anappropriate alternating current (AC) or direct current (DC) to powercomponents.

Processor 210 may include one or more of a microprocessor,microcontroller, digital signal processor, co-processor or the like orcombinations thereof capable of executing stored instructions andoperating upon stored data. Memory 230 may include, in someimplementations, one or more suitable types of memory (e.g., volatile ornon-volatile memory, random access memory (RAM), read only memory (ROM),programmable read-only memory (PROM), erasable programmable read-onlymemory (EPROM), electrically erasable programmable read-only memory(EEPROM), magnetic disks, optical disks, floppy disks, hard disks,removable cartridges, flash memory, a redundant array of independentdisks (RAID), and the like) for storing files, including an operatingsystem, application programs (including, e.g., a web browserapplication, a widget or gadget engine, or other applications, asnecessary), executable instructions, and data. In one embodiment, theprocessing techniques described herein are implemented as a combinationof executable instructions and data within memory 230.

Processor 210 may be one or more known processing devices, such as amicroprocessor from the Pentium™ family manufactured by Intel™ or theTurion™ family manufactured by AMD™. Processor 210 may constitute asingle core or multiple core processor that executes parallel processessimultaneously. For example, processor 210 may be a single coreprocessor that is configured with virtual processing technologies. Incertain embodiments, processor 210 may use logical processors tosimultaneously execute and control multiple processes. Processor 210 mayimplement virtual machine technologies, or other similar knowntechnologies to provide the ability to execute, control, run,manipulate, store, etc. multiple software processes, applications,programs, etc. One of ordinary skill in the art would understand thatother types of processor arrangements could be implemented that providefor the capabilities disclosed herein.

Computing device 110 may include one or more storage devices configuredto store information used by processor 210 (or other components) toperform certain functions related to the disclosed embodiments. In oneexample, computing device 110 may include memory 230 that includesinstructions to enable processor 210 to execute one or moreapplications, such as server applications, network communicationprocesses, and any other type of application or software known to beavailable on computer systems. Alternatively, the instructions,application programs, etc., may be stored in an external storage oravailable from a memory over a network. The one or more storage devicesmay be a volatile or non-volatile, magnetic, semiconductor, tape,optical, removable, non-removable, or other type of storage device ortangible computer-readable medium.

In one embodiment, computing device 110 may include memory 230 thatincludes instructions that, when executed by processor 210, perform oneor more processes consistent with the functionalities disclosed herein.Methods, systems, and articles of manufacture consistent with disclosedembodiments are not limited to separate programs or computers configuredto perform dedicated tasks. For example, computing device 110 mayinclude memory 230 that may include one or more programs 260 to performone or more functions of the disclosed embodiments. Moreover, processor210 may execute one or more programs 260 located remotely from computingdevice 110. For example, computing device 110 may access one or moreremote programs 260, that, when executed, perform functions related todisclosed embodiments.

Memory 230 may include one or more memory devices that store data andinstructions used to perform one or more features of the disclosedembodiments. Memory 230 may also include any combination of one or moredatabases controlled by memory controller devices (e.g., server(s),etc.) or software, such as document management systems, Microsoft™ SQLdatabases, SharePoint™ databases, Oracle™ databases, Sybase™ databases,or other relational databases. Memory 230 may include softwarecomponents that, when executed by processor 210, perform one or moreprocesses consistent with the disclosed embodiments. In someembodiments, memory 230 may include database 250 for storing relateddata to enable computing device 110 to perform one or more of theprocesses and functionalities associated with the disclosed embodiments.

Computing device 110 may also be communicatively connected to one ormore memory devices (e.g., databases (not shown)) locally or through anetwork. The remote memory devices may be configured to storeinformation and may be accessed and/or managed by computing device 110.By way of example, the remote memory devices may be document managementsystems, Microsoft™ QL database, SharePoint™ databases, Oracle™databases, Sybase™ databases, or other relational databases. Systems andmethods consistent with disclosed embodiments, however, are not limitedto separate databases or even to the use of a database.

Computing device 110 may also include one or more I/O devices 220 thatmay include one or more interfaces for receiving signals or input fromdevices and providing signals or output to one or more devices thatallow data to be received and/or transmitted by computing device 110.For example, computing device 110 may include interface components,which may provide interfaces to one or more input devices, such as oneor more keyboards, mouse devices, touch screens, track pads, trackballs,scroll wheels, digital cameras, microphones, sensors, and the like, thatenable computing device 110 to receive data from one or more users (suchas via user device 130).

In example embodiments of the disclosed technology, computing device 110may include any number of hardware and/or software applications that areexecuted to facilitate any of the operations. The one or more I/Ointerfaces may be utilized to receive or collect data and/or userinstructions from a wide variety of input devices. Received data may beprocessed by one or more computer processors as desired in variousimplementations of the disclosed technology and/or stored in one or morememory devices.

While computing device 110 has been described as one form forimplementing the techniques described herein, those having ordinaryskill in the art will appreciate that other, functionally equivalenttechniques may be employed. For example, as known in the art, some orall of the functionality implemented via executable instructions mayalso be implemented using firmware and/or hardware devices such asapplication specific integrated circuits (ASICs), programmable logicarrays, state machines, etc. Furthermore, other implementations mayinclude a greater or lesser number of components than those illustrated.

FIGS. 3A-3B show a flowchart of a method 300 for validating customerinteractions. Method 300 may be performed by computing device 110,financial service provider system 120, and/or user device 130.

Starting with FIG. 3A, in block 302, the system (e.g., system 100) mayestablish a wireless connection (e.g., via network 140) between a firstuser device (e.g., user device 130) and a first computing device (e.g.,computing device 110). For example, the first user device and the firstcomputing device may both be connected to a wireless connectionassociated with a merchant while in a merchant premises. Establishing awireless connection between the first user device and the firstcomputing device may not only allow for initiation of the firstcomputing device (e.g., “waking up” a stationary kiosk located within amerchant premises), but may also allow the first user device and firstcomputing device to maintain a sufficient enough connection throughout atransaction such that authentication of a user of the first user devicemay be maintained. As the strength of the wireless connection may weakenthe farther the first user device is away from the first computingdevice, any unintended actors (e.g., persons standing across the roomfrom the kiosk in the merchant premises) may have difficulty maintaininga sufficient enough connection to conduct any type of fraudulentactivity associated with a given transaction.

In block 304, the system (e.g., system 100) may generate, by the firstcomputing device, a first dynamic QR code comprising a plurality offirst QR code frames, wherein each first QR code frame of the pluralityof first QR code frames is transmitted at a first frequency, and whereinthe plurality of first QR code frames comprises one or more non-viablefirst QR code frames and at least one viable first QR code frame. Thefirst dynamic QR code may be generated in any color and may comprise anysquare number of individual blocks. For example, the first dynamic QRcode may be generated in the shape of a square comprising, e.g., 100×100individual small blocks. The greater the number of individual smallblocks comprising the first dynamic QR code, the more difficult it wouldbe for an unintended actor (e.g., someone standing in line behind acustomer at a kiosk) to replicate the first dynamic QR code.

The first dynamic QR code may comprise, for example, accountinformation, local data, temporary data, etc. That is, the firstcomputing device, e.g., a kiosk, may be configured to generate the firstdynamic QR code by compiling account information associated with a user,locally stored data, and/or cloud-based data. Each first QR code frameof the plurality of first QR code frames that make up the first dynamicQR code may comprise a different assortment of such compiled data. Thisfeature provides the benefit of creating user- and/ortransaction-specific dynamic QR codes, once again making those QR codesdifficult to recreate.

The first frequency may be any preset time interval by which each firstQR code frame changes. For example, the first frequency may be set suchthat a new first QR code frame is displayed every one hundredmilliseconds. The first dynamic QR code may be configured such that theplurality of first QR code frames comprising the first dynamic QR codeis set on a loop. For example, if a first dynamic QR code is configuredbased on a total transmission length of 1200 milliseconds, at 1200milliseconds the final first QR code frame may change back to the firstQR code frame initially displayed. Each first QR code frame may compriseone or more different QR sense points in comparison to its immediatelypreceding first QR code frame. That is, the distance and/or angle idealfor capturing each first QR code frame (as discussed further below withrespect to block 310), may be slightly different for each first QR codeframe. This feature provides the added benefit of allowing an intendeduser standing right in front of the first dynamic QR code, to easilycapture each first QR code frame; however, any unintended actorattempting to capture the first dynamic QR code from a different angleand/or distance away, would likely not be able to capture the fullseries of first QR code frames, thereby reducing the unintended actor'schances of capturing the at least one viable first QR code frame, asdiscussed further below.

The one or more non-viable (or dummy) first QR code frames included inthe plurality of first QR code frames are those first QR code framesthat are non-functional, i.e., will not successfully authenticate afirst user of the first user device, as described further below withrespect to block 312. In some embodiments, the system may be configuredto track each non-viable first QR code frame that someone attempts touse such that the system, e.g., owed and/or operated by an organization,can track potentially fraudulent activity. The at least one viable firstQR code frame included in the plurality of first QR code frames,however, is the only first QR code frame that will successfullyauthenticate the first user. As discussed above, this feature providesthe added benefit of significantly reducing fraudulent transactionactivity as an unintended actor would have an impracticable chance ofbeing able to capture the viable first QR code frame out of theplurality of first QR code frames (changing at such a high firstfrequency), as further described below with respect to block 310.

In block 306, the system (e.g., system 100) may display, by the firstcomputing device, the first dynamic QR code, wherein the at least oneviable first QR code frame is displayed at a first time (e.g., 600-700milliseconds after initially displaying the first frame). In someembodiments, the first computing device may display the first dynamic QRcode via a GUI display, for example, on the front of an ATM or kiosk. Asdiscussed above, as each of the first QR code frames of the plurality offirst QR code frames changes, the at least one viable first QR codeframe may be displayed at a specific moment in time.

In block 308, the system (e.g., system 100) may transmit, by the firstcomputing device, a first pulse to the first user device, wherein thefirst pulse notifies the first user device to capture the at least oneviable first QR code frame. The first pulse may comprise, for example, awireless connection signal such as a medium-range radio waive wirelesssignal utilizing 2.4, 5, and/or 6 GHz (e.g., WiFi™ signal), ashort-range radio wave wireless signal utilizing 2.4 Gigahertz (GHz)radio frequencies (e.g., a Bluetooth™ signal or a Bluetooth LE™ signal),or an NFC signal, infrared light, a strobe, an audible signal, and/or anon-audible signal (e.g., frequencies below 20 Hz (infrasonic sound) andabove 20 kHz (ultrasonic sound)). That is, the first computing devicemay emit the first pulse to alert the first user device that it shouldcapture the at least one viable first QR code frame, e.g., via an imageand/or sound capturing device of the first user device.

In block 310, the system (e.g., system 100) may capture, by the firstuser device at the first time and in response to receiving the firstpulse, the at least one viable first QR code frame. That is, asdiscussed above, the first user device may, depending on the form ofpulse, use its image and/or sound capturing device to capture the atleast one viable first QR code at the precise moment in time it isdisplayed by the first computing device. In some embodiments, the firstuser device may capture each first QR code frame, including anynon-viable frames, as they move through their timed loop, as describedabove. The first user device may be configured to then, in response toreceiving the first pulse, capture the viable first QR code frame andremove the captured non-viable frames from, e.g., any internal memorydevice. Alternatively, the first user device may identify the viablefirst QR code frame from all captured first QR code frames based on thetime the first user device receives or recognized the first pulse. Putanother way, the first user device may identify the viable first QR codeframe by finding the QR code that was captured at the same time as thefirst pulse.

In block 312, the system (e.g., system 100) may authenticate, by thefirst user device, a first user of the first user device. In someembodiments, authenticating may comprise prompting a first user to loginto a mobile application by, for example, entering a username and/orpassword. Once the first user has logged into the mobile application,the first user may then be further prompted to enter additionalidentification information (e.g., name, phone number, email address,account information, etc.) such that the system may further authenticatethe first user to ensure the first user is correctly associated with thefirst user device.

Turning to FIG. 3B, in block 314, the system (e.g., system 100) mayreceive, at the first computing device and from the first user device, arequest to complete a transaction. The request may comprise, forexample, a transaction type (e.g., obtaining a cashier's check,withdrawing funds, depositing a check, etc.), one or more accounts, apayee, a transaction amount, etc. In some embodiments, the first usermay enter the request and any associated information via a GUI of thefirst user device and may then send the request via the first userdevice to the first computing device. For example, as discussed above,the first user may already have logged into a mobile application via thefirst user's mobile device. Within the mobile application, the firstuser may request the first computing device (e.g. a kiosk) generate acashier's check for a certain dollar amount.

In block 316, responsive to authenticating the first user of the firstuser device, the system (e.g., system 100) may generate, by the firstuser device, a second dynamic QR code comprising a plurality of secondQR code frames, wherein each second QR code frame of the plurality ofsecond QR code frames is transmitted at a second frequency, and whereinthe plurality of second QR code frames comprises one or more non-viablesecond QR code frames and at least one viable second QR code frame. Thesecond dynamic QR code may be similar to the first dynamic QR code, asdiscussed above with respect to block 304, except that the seconddynamic QR code is being generated by the first user device instead ofthe first computing device. For example, once the first user has beenauthenticated by the system, as discussed above, the first user devicemay generate its own second dynamic QR code for display on a GUI of thefirst user device. In some embodiments, the system may instead generate,by the first user device, a static QR code, i.e., one that contains onlya single, fixed QR code frame.

In block 318, the system (e.g., system 100) may display, by the firstuser device, the second dynamic QR code, wherein the at least one viablesecond QR code frame is displayed at a second time. Displaying thesecond dynamic QR code may be similar to displaying the first dynamic QRcode, as discussed above with respect to block 306, except that thesecond dynamic QR code is displayed by the first user device instead ofthe first computing device. For example, the first user device maydisplay the second dynamic QR code via a GUI display of the first userdevice.

In block 320, the system (e.g., system 100) may transmit, by the firstuser device, a second pulse to the first computing device, wherein thesecond pulse notifies the first computing device to capture the at leastone viable second QR code frame. Transmitting the second pulse may besimilar to transmitting the first pulse, as discussed above with respectto block 308, except that the second pulse is being transmitted by thefirst user device instead of the first computing device. That is, thefirst user device may emit the second pulse to alert the first computingdevice that it should capture the at least one viable second QR codeframe, e.g. via an image and/or sound capturing device of the firstcomputing device.

In block 322, the system (e.g., system 100) may capture, by the firstcomputing device at the second time and in response to receiving thesecond pulse, the at least one viable second QR code frame. Capturingthe at least one viable second QR code frame is similar to capturing theat least one viable first QR code frame, as discussed above with respectto block 310, except that the second viable QR code frame is beingcaptured by the first computing device instead of the first user device.

In block 324, the system (e.g., system 100) may, by the first computingdevice, complete the transaction. For example, the first computingdevice may generate and issue a cashier's check, may complete a cashdeposit, may deposit a check, etc. In the case of generating and issuinga cashier's check, the first computing device may produce the cashier'scheck (e.g., via a slot on the front of the first computing device) andprovide the first user a predetermined amount of time to retrieve thecashier's check. Once the predetermined amount of time has expired, ifthe first user has not retrieved the cashier's check, the firstcomputing device may retract the cashier's check. This feature providesan added security benefit of helping to ensure an unintended actor doesnot retrieve the first user's cashier check. In some embodiments, thefirst computing device may print the cashier's check with a QR codeprinted on the back of the cashier's check. Once the first userretrieves the cashier's check, the first user may then scan the QR codeusing an image capturing device of the first computing device (e.g., aQR code scanner). This feature provides an added step of validating thatthe first user did in fact retrieve the cashier's check.

FIG. 4 shows a flowchart of a method 400 for validating customerinteractions. Method 400 may also be performed by computing device 110,financial service provider system 120, and/or user device 130. Method400 is similar to method 300 of FIGS. 3A-3B except that method 400 alsoincludes blocks 402, 412, and 414. The descriptions of blocks 404, 406,408, 410, and 416 are the same or similar to the respective descriptionsof blocks 304, 306, 308, 314, and 324 of method 300, and as such, arenot repeated herein for brevity.

In block 402 of FIG. 4 , the system (e.g., system 100) may recognize afirst user device. That is, the system may, in response to coming inclose vicinity to the first user device, wake up or initiate. Thisrecognition may be due to a wireless connection being establishedbetween the system and the first user device, as discussed above withrespect to block 302. For example, a first user of the first user device(e.g., a mobile phone) may enter a merchant premises housing the system(e.g., a kiosk). The first user may connect the first user device to awireless connection associated with the merchant, and to which thesystem is already connected.

In block 412 of FIG. 4 , the system (e.g., system 100) may capture, fromthe first user device, a second QR code. As discussed above with respectto block 316, the second QR code, displayed by the first user device,may be either a dynamic or static QR code. Thus, the system may beconfigured to capture the second (dynamic) QR code as discussed abovewith respect to block 322, or to capture the second (static) QR code viaan image (and/or audio) capturing device (e.g., a scanner).

In block 414 of FIG. 4 , the system (e.g., system 100) may determinewhether the second QR code is authenticated. As discussed above withrespect to block 312, a first user associated with the first user devicemay have already authenticated him or herself by, for example, logginginto a mobile application. As discussed above with respect to block 316,the second QR code may have then been generated by the first user devicein response to authenticating the first user. The system may thus beconfigured to recognize that these prior authentication steps haveoccurred to ensure the second QR code is in fact also authenticated.This feature provides the added benefit of ensuring an unintended actorcannot simply create a random QR code that should not be associated withthe first user or the requested transaction.

FIG. 5 shows a flowchart of a method 500 for validating customerinteractions. Method 500 may also be performed by computing device 110,financial service provider system 120, and/or user device 130. Method500 is similar to method 300 of FIGS. 3A-3B. The description of blocks502, 504, 506, and 508 of method 500 are the same as or similar to therespective descriptions of blocks 310, 314, 316, and 318 of method 300,and as such, are not repeated herein for brevity. Further, thedescription of block 510 of method 500 is the same as or similar to thecombined descriptions of blocks 320, 322, and 324 of method 300, and assuch, are not repeated herein for brevity.

As used in this application, the terms “component,” “module,” “system,”“server,” “processor,” “memory,” and the like are intended to includeone or more computer-related units, such as but not limited to hardware,firmware, a combination of hardware and software, software, or softwarein execution. For example, a component may be, but is not limited tobeing, a process running on a processor, an object, an executable, athread of execution, a program, and/or a computer. By way ofillustration, both an application running on a computing device and thecomputing device can be a component. One or more components can residewithin a process and/or thread of execution and a component may belocalized on one computer and/or distributed between two or morecomputers. In addition, these components can execute from variouscomputer readable media having various data structures stored thereon.The components may communicate by way of local and/or remote processessuch as in accordance with a signal having one or more data packets,such as data from one component interacting with another component in alocal system, distributed system, and/or across a network such as theInternet with other systems by way of the signal.

Certain embodiments and implementations of the disclosed technology aredescribed above with reference to block and flow diagrams of systems andmethods and/or computer program products according to exampleembodiments or implementations of the disclosed technology. It will beunderstood that one or more blocks of the block diagrams and flowdiagrams, and combinations of blocks in the block diagrams and flowdiagrams, respectively, can be implemented by computer-executableprogram instructions. Likewise, some blocks of the block diagrams andflow diagrams may not necessarily need to be performed in the orderpresented, may be repeated, or may not necessarily need to be performedat all, according to some embodiments or implementations of thedisclosed technology.

These computer-executable program instructions may be loaded onto ageneral-purpose computer, a special-purpose computer, a processor, orother programmable data processing apparatus to produce a particularmachine, such that the instructions that execute on the computer,processor, or other programmable data processing apparatus create meansfor implementing one or more functions specified in the flow diagramblock or blocks. These computer program instructions may also be storedin a computer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meansthat implement one or more functions specified in the flow diagram blockor blocks.

As an example, embodiments or implementations of the disclosedtechnology may provide for a computer program product, including acomputer-usable medium having a computer-readable program code orprogram instructions embodied therein, said computer-readable programcode adapted to be executed to implement one or more functions specifiedin the flow diagram block or blocks. Likewise, the computer programinstructions may be loaded onto a computer or other programmable dataprocessing apparatus to cause a series of operational elements or stepsto be performed on the computer or other programmable apparatus toproduce a computer-implemented process such that the instructions thatexecute on the computer or other programmable apparatus provide elementsor steps for implementing the functions specified in the flow diagramblock or blocks.

Accordingly, blocks of the block diagrams and flow diagrams supportcombinations of means for performing the specified functions,combinations of elements or steps for performing the specifiedfunctions, and program instruction means for performing the specifiedfunctions. It will also be understood that each block of the blockdiagrams and flow diagrams, and combinations of blocks in the blockdiagrams and flow diagrams, can be implemented by special-purpose,hardware-based computer systems that perform the specified functions,elements or steps, or combinations of special-purpose hardware andcomputer instructions.

Certain implementations of the disclosed technology are described abovewith reference to customer devices that may include mobile computingdevices. Those skilled in the art will recognize that there are severalcategories of mobile devices, generally known as portable computingdevices that can run on batteries but are not usually classified aslaptops. For example, mobile devices can include, but are not limited toportable computers, tablet PCs, internet tablets, PDAs, ultra-mobile PCs(UMPCs), wearable devices, and smart phones. Additionally,implementations of the disclosed technology can be utilized withinternet of things (IoT) devices, smart televisions and media devices,appliances, automobiles, toys, and voice command devices, along withperipherals that interface with these devices.

In this description, numerous specific details have been set forth. Itis to be understood, however, that implementations of the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known methods, structures, and techniques have not beenshown in detail in order not to obscure an understanding of thisdescription. References to “one embodiment,” “an embodiment,” “someembodiments,” “example embodiment,” “various embodiments,” “oneimplementation,” “an implementation,” “example implementation,” “variousimplementations,” “some implementations,” etc., indicate that theimplementation(s) of the disclosed technology so described may include aparticular feature, structure, or characteristic, but not everyimplementation necessarily includes the particular feature, structure,or characteristic. Further, repeated use of the phrase “in oneimplementation” does not necessarily refer to the same implementation,although it may.

Throughout the specification and the claims, the following terms take atleast the meanings explicitly associated herein, unless the contextclearly dictates otherwise. The term “connected” means that onefunction, feature, structure, or characteristic is directly joined to orin communication with another function, feature, structure, orcharacteristic. The term “coupled” means that one function, feature,structure, or characteristic is directly or indirectly joined to or incommunication with another function, feature, structure, orcharacteristic. The term “or” is intended to mean an inclusive “or.”Further, the terms “a,” “an,” and “the” are intended to mean one or moreunless specified otherwise or clear from the context to be directed to asingular form. By “comprising” or “containing” or “including” is meantthat at least the named element, or method step is present in article ormethod, but does not exclude the presence of other elements or methodsteps, even if the other such elements or method steps have the samefunction as what is named.

As used herein, unless otherwise specified the use of the ordinaladjectives “first,” “second,” “third,” etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

While certain embodiments of this disclosure have been described inconnection with what is presently considered to be the most practicaland various embodiments, it is to be understood that this disclosure isnot to be limited to the disclosed embodiments, but on the contrary, isintended to cover various modifications and equivalent arrangementsincluded within the scope of the appended claims. Although specificterms are employed herein, they are used in a generic and descriptivesense only and not for purposes of limitation.

This written description uses examples to disclose certain embodimentsof the technology and also to enable any person skilled in the art topractice certain embodiments of this technology, including making andusing any apparatuses or systems and performing any incorporatedmethods. The patentable scope of certain embodiments of the technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

Example Use Case

The following example use case describes an example of a typical userflow pattern. It is intended solely for explanatory purposes and not inlimitation.

In one example, a user holding a mobile device may walk into a merchantpremises to obtain a cashier's check from a kiosk. As the user walks upto the kiosk, a wireless connection may be established between themobile device and the kiosk. The kiosk, recognizing the presence of themobile device, may then generate and display a first dynamic QR code.The first dynamic QR code may comprise a plurality of first QR codeframes, wherein at least one of the first QR code frames is a viableframe (i.e., the only frame that will work to complete the transaction)while the remaining first QR code frames are non-viable. Each first QRcode frame (including both the viable and non-viable frames) may bechanging every one hundred milliseconds, such that the user cannot tellthe first dynamic QR code is changing. The user may hold the mobiledevice up to the kiosk to capture the first dynamic QR code with themobile device's camera. At some moment in time, the kiosk may transmit apulse of infrared light to alert the mobile device to capture the viableQR code frame at that time. Other people standing inside the merchantpremises would likely not be able to capture the viable QR code frame asthey would be standing at varying distances and angles from the kiosk,thereby reducing the strength of the sense points contained within thefirst dynamic QR code. Further, their chances of capturing the viable QRcode frame at the required precise moment in time as the user's mobiledevice recognizes the transmitted pulse would be extremely low.

Once the mobile device captures the viable QR code frame, the mobiledevice may prompt the user to log into a mobile banking application byentering his or her username and password. Once logged into the mobilebanking application, the application may also prompt the user tocomplete multi-step authentication by entering additional personal orcontact information, such as the user's mobile number and/or address.The user may then request the kiosk generate a cashier's check byentering, into the mobile banking application, the requested amount, thepayee, and the account from which to pull the funds. The mobile devicemay then generate and display, via a GUI of the mobile device, a seconddynamic QR code that is configured like the first dynamic QR codepreviously generated and displayed by the kiosk. That is, the seconddynamic QR code may comprise a plurality of second QR code frames,wherein at least one of the second QR code frames is a viable framewhile the remaining second QR code frames are non-viable, and eachsecond QR code frame is changing every one hundred milliseconds. Oncethe user sees the second dynamic QR code displayed on the mobile devicedisplay, the user may hold the mobile device up to a scanner on thekiosk such that the kiosk may capture the second dynamic QR code. Themobile device may then, at some moment in time, transmit a pulse ofinfrared light to alert the kiosk to capture the viable QR code frame.Once the kiosk captures the viable QR code frame, the kiosk may thengenerate the cashier's check. The user may retrieve the cashier's checkfrom a slot on the front of the kiosk. Finally, the user may use thekiosk scanner to scan a QR code printed on the back of the cashier'scheck, such that the kiosk may confirm the user has the cashier's checkin hand.

What is claimed is:
 1. A method, comprising: generating, by a firstcomputing device, a first dynamic encoded graphic comprising at leastone non-viable first encoded graphic frame and at least one viable firstencoded graphic frame; transmitting, by the first computing device, afirst pulse to a first user device, wherein the first pulse notifies thefirst user device to capture the at least one viable first encodedgraphic frame; capturing, by the first user device and in response toreceiving the first pulse, the at least one viable first encoded graphicframe; receiving, at the first computing device and from the first userdevice, a request to complete a transaction; generating, by the firstuser device, a second dynamic encoded graphic comprising at least onenon-viable second encoded graphic frame and at least one viable secondencoded graphic frame; transmitting, by the first user device, a secondpulse to the first computing device, wherein the second pulse notifiesthe first computing device to capture the at least one viable secondencoded graphic frame; capturing, by the first computing device and inresponse to receiving the second pulse, the at least one viable secondencoded graphic frame; and completing, by the first computing device,the transaction.
 2. The method of claim 1, further comprising:establishing a wireless connection between the first user device and thefirst computing device.
 3. The method of claim 1, wherein the at leastone non-viable first encoded graphic frame and the at least one viablefirst encoded graphic frame are transmitted at a first frequency, andwherein the at least one non-viable second encoded graphic frame and theat least one viable second encoded graphic frame are transmitted at asecond frequency.
 4. The method of claim 3, wherein the first frequencyand the second frequency comprise a one hundred millisecond time period.5. The method of claim 1, further comprising: displaying, by the firstcomputing device, the first dynamic encoded graphic, wherein the atleast one viable first encoded graphic frame is displayed at a firsttime; and displaying, by the first user device, the second dynamicencoded graphic, wherein the at least one viable second encoded graphicframe is displayed at a second time.
 6. The method of claim 1, whereinthe first dynamic encoded graphic comprises one or more of accountinformation, local data, temporary data, or combinations thereof.
 7. Themethod of claim 1, wherein the first pulse and the second pulse compriseone or more of a wireless connection signal, infrared light, a strobe, anear-field communication (NFC) signal, a short-range radio wave wirelesssignal utilizing 2.4 Gigahertz (GHz) radio frequencies, an audiblesignal, a non-audible signal, or combinations thereof.
 8. The method ofclaim 1, wherein completing the transaction comprises generating acashier's check comprising a third encoded graphic, and wherein themethod further comprises: capturing, by the first computing device, thethird encoded graphic.
 9. A system, comprising: one or more processors;and a memory in communication with the one or more processors andstoring instructions that, when executed by the one or more processors,are configured to cause the system to: generate a first dynamic encodedgraphic comprising a plurality of first encoded graphic frames, whereinthe plurality of first encoded graphic frames comprises at least onenon-viable first encoded graphic frame and at least one viable firstencoded graphic frame; transmit a first pulse to a first user device,wherein the first pulse causes the first user device to capture the atleast one viable first encoded graphic frame; receive, from the firstuser device, a request to complete a transaction; capture, from thefirst user device, a second encoded graphic; and responsive to capturingthe second encoded graphic, complete the transaction.
 10. The system ofclaim 9, wherein the instructions are further configured to cause thesystem to: display the first dynamic encoded graphic, wherein the atleast one viable first encoded graphic frame is displayed at a firsttime.
 11. The system of claim 9, wherein the first dynamic encodedgraphic comprises one or more of account information, local data,temporary data, or combinations thereof.
 12. The system of claim 9,wherein the first pulse comprises one or more of a wireless connectionsignal, infrared light, a strobe, a near-field communication (NFC)signal, a short-range radio wave wireless signal utilizing 2.4 Gigahertz(GHz) radio frequencies, an audible signal, a non-audible signal, orcombinations thereof.
 13. The system of claim 9, wherein the secondencoded graphic comprises a second dynamic encoded graphic comprising aplurality of second encoded graphic frames, wherein the plurality ofsecond encoded graphic frames comprises at least one non-viable secondencoded graphic frame and at least one viable second encoded graphicframe.
 14. The system of claim 9, wherein the request comprises one ormore of a transaction type, one or more accounts, a payee, a transactionamount, or combinations thereof.
 15. The system of claim 9, whereincompleting the transaction comprises generating a cashier's check.
 16. Auser device, comprising: one or more processors; and a memory incommunication with the one or more processors and storing instructionsthat, when executed by the one or more processors, are configured tocause the user device to: capture, from a computing device, a firstdynamic encoded graphic; transmit, to the computing device, a request tocomplete a transaction; generate a second dynamic encoded graphiccomprising a plurality of second encoded graphic frames, wherein theplurality of second encoded graphic frames comprises at least onenon-viable second encoded graphic frame and at least one viable secondencoded graphic frame; and cause the computing device to complete thetransaction by transmitting a first pulse to the computing device,wherein the first pulse notifies the computing device to capture the atleast one viable second encoded graphic frame.
 17. The user device ofclaim 16, wherein the first dynamic encoded graphic comprises aplurality of first encoded graphic frames, wherein the plurality offirst encoded graphic frames comprises at least one non-viable firstencoded graphic frame and at least one viable first encoded graphicframe.
 18. The user device of claim 17, wherein each first encodedgraphic frame of the plurality of first encoded graphic frames istransmitted at a first frequency, wherein each second encoded graphicframe of the plurality of second encoded graphic frames is transmittedat a second frequency, and wherein the first frequency and the secondfrequency comprise a one hundred millisecond time period.
 19. The userdevice of claim 16, wherein the instructions are further configured tocause the user device to: authenticate a user of the user device byreceiving one or more of biometric information of the user, a usernameof the user, a password of the user, or combinations thereof.
 20. Theuser device of claim 16, wherein the first pulse comprises one or moreof a wireless connection signal, infrared light, a strobe, a near-fieldcommunication (NFC) signal, a short-range radio wave wireless signalutilizing 2.4 Gigahertz (GHz) radio frequencies, an audible signal, anon-audible signal, or combinations thereof.